<RETURNS>gpointer </RETURNS>
XID xid
</FUNCTION>
+<FUNCTION>
+<NAME>gdk_x11_get_server_time</NAME>
+<RETURNS>guint32 </RETURNS>
+GdkWindow *window
+</FUNCTION>
<MACRO>
<NAME>gdk_window_lookup</NAME>
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
<RETURNS>void </RETURNS>
PangoContext *context,GdkColormap *colormap
</FUNCTION>
-<ENUM>
-<NAME>GdkPixbufAlphaMode</NAME>
-typedef enum
-{
- GDK_PIXBUF_ALPHA_BILEVEL,
- GDK_PIXBUF_ALPHA_FULL
-} GdkPixbufAlphaMode;
-</ENUM>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_threshold_alpha</NAME>
-<RETURNS>void </RETURNS>
-GdkPixbuf *pixbuf,GdkBitmap *bitmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height,int alpha_threshold
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_to_drawable</NAME>
-<RETURNS>void </RETURNS>
-GdkPixbuf *pixbuf,GdkDrawable *drawable,GdkGC *gc,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkRgbDither dither,int x_dither,int y_dither
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_to_drawable_alpha</NAME>
-<RETURNS>void </RETURNS>
-GdkPixbuf *pixbuf,GdkDrawable *drawable,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkPixbufAlphaMode alpha_mode,int alpha_threshold,GdkRgbDither dither,int x_dither,int y_dither
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_render_pixmap_and_mask</NAME>
-<RETURNS>void </RETURNS>
-GdkPixbuf *pixbuf,GdkPixmap **pixmap_return,GdkBitmap **mask_return,int alpha_threshold
-</FUNCTION>
-<FUNCTION>
-<NAME>gdk_pixbuf_get_from_drawable</NAME>
-<RETURNS>GdkPixbuf *</RETURNS>
-GdkPixbuf *dest,GdkDrawable *src,GdkColormap *cmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height
-</FUNCTION>
<STRUCT>
<NAME>GdkPixmapObject</NAME>
</STRUCT>
GdkAtom encoding,gint format,const guchar *text,gint length,gchar ***list
</FUNCTION>
<FUNCTION>
+<NAME>gdk_text_property_to_utf8_list</NAME>
+<RETURNS>gint </RETURNS>
+GdkAtom encoding,gint format,const guchar *text,gint length,gchar ***list
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_utf8_to_string_target</NAME>
+<RETURNS>gchar *</RETURNS>
+const gchar *str
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_utf8_to_compound_text</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *str,GdkAtom *encoding,gint *format,guchar **ctext,gint *length
+</FUNCTION>
+<FUNCTION>
<NAME>gdk_free_text_list</NAME>
<RETURNS>void </RETURNS>
gchar **list
<NAME>GDK_HAVE_WCTYPE_H</NAME>
#define GDK_HAVE_WCTYPE_H 1
</MACRO>
+<ENUM>
+<NAME>GdkPixbufAlphaMode</NAME>
+typedef enum
+{
+ GDK_PIXBUF_ALPHA_BILEVEL,
+ GDK_PIXBUF_ALPHA_FULL
+} GdkPixbufAlphaMode;
+</ENUM>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_threshold_alpha</NAME>
+<RETURNS>void </RETURNS>
+GdkPixbuf *pixbuf,GdkBitmap *bitmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height,int alpha_threshold
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_to_drawable</NAME>
+<RETURNS>void </RETURNS>
+GdkPixbuf *pixbuf,GdkDrawable *drawable,GdkGC *gc,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkRgbDither dither,int x_dither,int y_dither
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_to_drawable_alpha</NAME>
+<RETURNS>void </RETURNS>
+GdkPixbuf *pixbuf,GdkDrawable *drawable,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkPixbufAlphaMode alpha_mode,int alpha_threshold,GdkRgbDither dither,int x_dither,int y_dither
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_render_pixmap_and_mask</NAME>
+<RETURNS>void </RETURNS>
+GdkPixbuf *pixbuf,GdkPixmap **pixmap_return,GdkBitmap **mask_return,int alpha_threshold
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixbuf_get_from_drawable</NAME>
+<RETURNS>GdkPixbuf *</RETURNS>
+GdkPixbuf *dest,GdkDrawable *src,GdkColormap *cmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height
+</FUNCTION>
GDK_NONE
gdk_text_property_to_text_list
gdk_free_text_list
+gdk_text_property_to_utf8_list
gdk_string_to_compound_text
gdk_free_compound_text
+gdk_utf8_to_string_target
+gdk_utf8_to_compound_text
gdk_atom_intern
gdk_atom_name
gdk_property_get
gdk_window_lookup
gdk_pixmap_lookup
gdk_font_lookup
+gdk_x11_get_server_time
<SUBSECTION Private>
GDK_TYPE_GC_X11
a call to gdk_text_property_to_text_list().
+<!-- ##### FUNCTION gdk_text_property_to_utf8_list ##### -->
+<para>
+
+</para>
+
+@encoding:
+@format:
+@text:
+@length:
+@list:
+@Returns:
+
+
<!-- ##### FUNCTION gdk_string_to_compound_text ##### -->
<para>
Convert a string from the encoding of the current locale
@ctext: The pointer stored in @ctext from a call to gdk_string_to_compound_text().
+<!-- ##### FUNCTION gdk_utf8_to_string_target ##### -->
+<para>
+
+</para>
+
+@str:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_utf8_to_compound_text ##### -->
+<para>
+
+</para>
+
+@str:
+@encoding:
+@format:
+@ctext:
+@length:
+@Returns:
+
+
<!-- ##### FUNCTION gdk_atom_intern ##### -->
<para>
Find or create an atom corresponding to a given string.
@xid:
+<!-- ##### FUNCTION gdk_x11_get_server_time ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+Clipboards
+
+<!-- ##### SECTION Short_Description ##### -->
+Storing data on Clipboards.
+
+<!-- ##### SECTION Long_Description ##### -->
+ <para>
+ The #GtkClipboard object represents a clipboard of data shared
+ between different processes or between different widgets in
+ the same process. Each clipboard is identified by a name encoded as a
+ #GdkAtom. (Conversion to and from strings can be done with
+ gdk_atom_intern() and gdk_atom_name().) The default clipboard
+ corresponds to the CLIPBOARD atom; another commonly used clipboard
+ is the PRIMARY clipboard, which, in X, traditionally contains
+ the currently selected text.
+ </para>
+ <para>
+ To support having a number of different formats on the clipboard
+ at the same time, the clipboard mechanism allows providing
+ callbacks instead of the actual data. When you set the contents
+ of the clipboard, you can either supply the data directly (via
+ functions like gtk_clipboard_set_text()), or you can supply a
+ callback to be called at a later time when the data is needed (via
+ gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().)
+ Providing a callback also avoids having to make copies of the data
+ when it is not needed.
+ </para>
+ <para>
+ gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner()
+ are quite similar; the choice between the two depends mostly on
+ which is more convenient in a particular situation.
+ The former is most useful when you want to have a blob of data
+ with callbacks to convert it into the various data types that you
+ advertise. When the @clear_func you provided is called, you
+ simply free the data blob. The latter is more useful when the
+ contents of clipboard reflect the internal state of a @GObject
+ (As an example, for the PRIMARY clipboard, when an entry widget
+ provides the clipboard's contents the contents are simply the
+ text within the selected region.) If the contents change, the
+ entry widget can call gtk_clipboard_set_with_owner() to update
+ the timestamp for clipboard ownership, without having to worry
+ about @clear_func being called.
+ </para>
+ <para>
+ Requesting the data from the clipboard is essentially
+ asynchronous. If the contents of the clipboard are provided within
+ the same process, then a direct function call will be made to
+ retrieve the data, but if they are provided by another process,
+ then the data needs to be retrieved from the other process, which
+ may take some time. To avoid blocking the user interface, the call
+ to request the selection, gtk_clipboard_request_contents() takes a
+ callback that will be called when the contents are received (or
+ when the request fails.) If you don't want to deal with providing
+ a separate callback, you can also use gtk_clipboard_wait_for_contents().
+ What this does is run the Glib main loop recursively waiting for
+ the contents. This can simplify the code flow, but you still have
+ to be aware that other callbacks in your program can be called
+ while this recursive mainloop is running.
+ </para>
+ <para>
+ Along with the functions to get the clipboard contents as an
+ arbitrary data chunk, there are also functions to retrieve
+ it as text, gtk_clipboard_request_text() and
+ gtk_clipboard_wait_for_text(). These functions take care of
+ determining which formats are advertised by the clipboard
+ provider, asking for the clipboard in the best available format
+ and converting the results into the UTF-8 encoding. (The standard
+ form for representing strings in GTK+.)
+ </para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkSelection</term>
+<listitem><para>@GtkClipboard provides a high-level wrapper around the
+ lower level routines that deal with X selections. It is
+ also possibly to directly manipulate the X selections,
+ though it is seldom necessary to do so.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkClipboard ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gtk_clipboard_get ##### -->
+<para>
+
+</para>
+
+@selection:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_with_data ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@targets:
+@n_targets:
+@get_func:
+@clear_func:
+@user_data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_with_owner ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@targets:
+@n_targets:
+@get_func:
+@clear_func:
+@owner:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GtkClipboardGetFunc ##### -->
+<para>
+A function that will be called to provide the contents of the selection.
+If multiple types of data were advertised, the requested type can
+be determined from the @info parameter or by checking the target field
+of @selection_data. If the data could succesfully be converted into
+then it should be stored into the @selection_data object by
+calling gtk_selection_data_set() (or related functions such
+as gtk_seletion_data_get().) If no data is set, the requestor
+will be informed that the attempt to get the data failed.
+</para>
+
+@clipboard: the #GtkClipboard
+@selection_data: a #GtkSelectionData argument in which the requested
+ data should be stored.
+@info: the info field corresponding to the requested
+ target from the #GtkTargetEntry array passed to
+ gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().
+@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
+ the @owner argument passed to gtk_clipboard_set_owner()
+
+<!-- ##### USER_FUNCTION GtkClipboardClearFunc ##### -->
+<para>
+A function that will be called when the contents of the clipboard are changed
+or cleared. Once this has called, the @user_data_or_owner argument
+will not be used again.
+</para>
+
+@clipboard: the #GtkClipboard
+@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
+ the @owner argument passed to gtk_clipboard_set_owner()
+
+
+<!-- ##### FUNCTION gtk_clipboard_get_owner ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clipboard_clear ##### -->
+<para>
+
+</para>
+
+@clipboard:
+
+
+<!-- ##### FUNCTION gtk_clipboard_set_text ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@text:
+@len:
+
+
+<!-- ##### FUNCTION gtk_clipboard_request_contents ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@target:
+@callback:
+@user_data:
+
+
+<!-- ##### USER_FUNCTION GtkClipboardReceivedFunc ##### -->
+<para>
+ A function to be called when the results of gtk_clipboard_request_text()
+ are received, or when the request fails.
+</para>
+
+@clipboard: the #GtkClipboard
+@selection_data: a #GtkSelectionData containing the data was received.
+ If retrieving the data failed, then then length field
+ of @selection_data will be negative.
+@data: the @user_data supplied to gtk_clipboard_request_contents().
+
+
+<!-- ##### FUNCTION gtk_clipboard_request_text ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@callback:
+@user_data:
+
+
+<!-- ##### USER_FUNCTION GtkClipboardTextReceivedFunc ##### -->
+<para>
+ A function to be called when the results of gtk_clipboard_request_text()
+ are received, or when the request fails.
+</para>
+
+@clipboard: the #GtkClipboard
+@text: the text received, as a UTF-8 encoded string, or %NULL
+ if retrieving the data failed.
+@data: the @user_data supplied to gtk_clipboard_request_text().
+
+
+<!-- ##### FUNCTION gtk_clipboard_wait_for_contents ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@target:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clipboard_wait_for_text ##### -->
+<para>
+
+</para>
+
+@clipboard:
+@Returns:
+
+
+<!--
+Local variables:
+mode: sgml
+sgml-parent-document: ("../gtk-docs.sgml" "book" "refsect2" "")
+End:
+-->
<!-- ##### SECTION Long_Description ##### -->
<para>
-See the documentation for #GtkWidget for descriptions
-of the "selection_get" and "selection_received" signals.
+The selection mechanism provides the basis for different types
+of IPC between processes. In particular, drag and drop and
+#GtkClipboard work via selections. You will very seldom or
+never need to use most of the functions in this section directly;
+#GtkClipboard provides a nicer interface to the same functionality.
+</para>
+<para>
+Some of the datatypes defined this section are used in
+the #GtkClipboard and drag-and-drop API's as well. The
+#GtkTargetEntry structure and #GtkTargetList objects represent
+lists of data types that are supported when sending or
+receiving data. The #GtkSelectionData object is used to
+store a chunk of data along with the data type and other
+associated information.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkWidget</term>
+<listitem><para>Much of the operation of selections happens via
+ signals for #GtkWidget. In particular, if you are
+ using the functions in this section, you may need
+ to pay attention to ::selection_get,
+ ::selection_received, and :selection_clear_event
+ signals.</para></listitem>
+</varlistentry>
+
+</variablelist>
</para>
@ntargets: number of entries in @targets
+<!-- ##### FUNCTION gtk_selection_clear_targets ##### -->
+<para>
+
+</para>
+
+@widget:
+@selection:
+
+
<!-- ##### FUNCTION gtk_selection_convert ##### -->
<para>
Request the contents of a selection. When received,
this widget).
+<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
+<para>
+Removes all handlers and unsets ownership of all
+selections for a widget. Called when widget is being
+destroyed. This function will not generally be
+called by applications.
+</para>
+
+@widget: a #GtkWidget
+
+
+<!-- ##### STRUCT GtkSelectionData ##### -->
+<para>
+
+</para>
+
+@selection:
+@target:
+@type:
+@format:
+@data:
+@length:
+
<!-- ##### FUNCTION gtk_selection_data_set ##### -->
<para>
Store new data into a GtkSelectionData object. Should
@length: length of the data
-<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
+<!-- ##### FUNCTION gtk_selection_data_set_text ##### -->
<para>
-Removes all handlers and unsets ownership of all
-selections for a widget. Called when widget is being
-destroyed. This function will not generally be
-called by applications.
+
</para>
-@widget: a #GtkWidget
+@selection_data:
+@str:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_selection_data_get_text ##### -->
+<para>
+
+</para>
+
+@selection_data:
+@Returns:
<!-- ##### FUNCTION gtk_selection_data_copy ##### -->